package builder;

/**
 * 建造者模式主程序
 * 建造者模式 (Builder Pattern)将一个复杂对象的构建过程与其表示分离，使得同样的构建过程可以创建不同的表示。
 * 主要用于解决创建复杂对象时参数过多、构造函数链冗长的问题，同时确保对象创建过程的稳定性和可控性。
 *
 * @author Liu Yicong
 * @date 2025/9/21
 */
public class BuilderClient {
	public static void main(String[] args) {
		User user = new User.Builder("John", "Doe") // 必选参数
				.age(30)              // 可选参数 1
				.phone("123-456-7890")// 可选参数 2
				// 未设置 address，使用 Builder 默认值
				.build();             // 最终构建

		System.out.println(user.toString());
	}
}
